
/*============================================================
 *
 *     这个demo演示mkfifo创建命名管道，并进行基本操作
 *
 *============================================================*/

#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<string.h>
#include <sys/stat.h>
#include<fcntl.h>
#include<errno.h>
int main()
{
  umask(0);
  int ret = mkfifo("./test.fifo",0664);
  if(ret<0 && errno != EEXIST)
  {
    perror("mkfifo error");
    return -1;
  }
  int fd = open("./test.fifo",O_WRONLY);
  if(fd<0)
  {
    perror("open fifo error");
    return -1;
  } 
  printf("open fifo success\n");
  int i = 0;
  while(1){
    char buf[1023]= {0};
    sprintf(buf,"今天天气好冷啊。。。+%d",i++);
    write(fd,buf,strlen(buf));
    printf("write data sucess\n");
    sleep(1);
  }
  close(fd);
  return 0;
}
